﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TOAcademias;

namespace DAOAcademias
{

    /*************************************
    Autor: Carlos Sánchez
    Fecha de Creación: 06/02/2011
    Descripción de la Funcionalidad: Clase que contiene metodos que serviran para dar
    soporte a los registros de la entidad RendirEncuesta.
    **************************************/

    public class DORendirEncuesta
    {

    DBModuloAcademiasDataContext dbml;

    public DORendirEncuesta()
        {
            dbml = new DBModuloAcademiasDataContext();
        }



    public List<TORendirEncuesta> obtenerRendirEncuesta()
    {

        List<TORendirEncuesta> listaRendirEncuesta = new List<TORendirEncuesta>();



        var rendencuesta = (from enc in dbml.RENDIR_ENCUESTAs 
                        select enc
                         );

        foreach (var enc in rendencuesta)
        {

            TORendirEncuesta toRendirEncuesta = new TORendirEncuesta();
            toRendirEncuesta.Codigo = enc.COD_RENDIR_ENCUESTA;
            toRendirEncuesta.CodEncuesta  = enc.COD_ENCUESTA;
            toRendirEncuesta.CodSocio = enc.COD_SOCIO;

            listaRendirEncuesta.Add(toRendirEncuesta);

        }

        return listaRendirEncuesta;
    }

    public List<TORendirEncuesta> obtenerRendirEncuestaxEncuesta(String CodigoEncuesta)
    {

        List<TORendirEncuesta> listaRendirEncuesta = new List<TORendirEncuesta>();

        var rendencuesta = (from enc in dbml.RENDIR_ENCUESTAs
                            where enc.COD_ENCUESTA==CodigoEncuesta
                            select enc
                         );

        foreach (var enc in rendencuesta)
        {

            TORendirEncuesta toRendirEncuesta = new TORendirEncuesta();
            toRendirEncuesta.Codigo = enc.COD_RENDIR_ENCUESTA;
            toRendirEncuesta.CodEncuesta = enc.COD_ENCUESTA;
            toRendirEncuesta.CodSocio = enc.COD_SOCIO;

            listaRendirEncuesta.Add(toRendirEncuesta);

        }

        return listaRendirEncuesta;
    }




    public Boolean RindioEncuesta(String CodigoEncuesta,String CodigoSeccion, String CodigoSocio)
    {

        var rendencuesta = (from enc in dbml.RENDIR_ENCUESTAs
                            where enc.COD_ENCUESTA==CodigoEncuesta && enc.COD_SOCIO==CodigoSocio && enc.COD_SECCION == CodigoSeccion 
                            select enc
                         ).Count();

        if (Convert.ToInt32(rendencuesta) > 0)
        {
            return true;
        }
        else
        {
            return false;
        }

    }


    public String generarCodigoRendirEncuesta() 
         {
             List<TORendirEncuesta> listaRendirEncuesta = obtenerRendirEncuesta();

             int intAux = 0;
             int intTemp = 0;
             foreach (TORendirEncuesta rendirEncuesta in listaRendirEncuesta)
             {
                 intTemp = Convert.ToInt32(rendirEncuesta.Codigo.Substring(2));
                 if (intTemp > intAux)
                 {
                     intAux = intTemp;
                 }
             }
             intAux = intAux + 1;

             string strCodigo = "" + intAux;

             strCodigo = "RE000".Substring(0, 5 - strCodigo.Length) + intAux;

             return strCodigo;         
         }



    public String insertarRendirEncuesta(TORendirEncuesta toRendirEncuesta)
         {

             RENDIR_ENCUESTA enc = new RENDIR_ENCUESTA();
             enc.COD_RENDIR_ENCUESTA = generarCodigoRendirEncuesta();
             enc.COD_ENCUESTA  = toRendirEncuesta.CodEncuesta;
             enc.COD_SECCION = toRendirEncuesta.CodSeccion;
             enc.COD_SOCIO = toRendirEncuesta.CodSocio;
             

             dbml.RENDIR_ENCUESTAs .InsertOnSubmit(enc);
             dbml.SubmitChanges();

             return enc.COD_RENDIR_ENCUESTA;
         }
 

    }
}
